package com.liaoyifan.core.model;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.ToString;

@SuppressWarnings("unused")
@Getter
@ToString
@EqualsAndHashCode
@RequiredArgsConstructor
public class AuthToken implements Serializable {

    @Serial private static final long serialVersionUID = 1L;

    // 访问令牌
    @Setter private String accessToken;
    // 令牌类型 (通常为 Bearer)
    private final String tokenType = "Bearer";
    // 访问令牌有效期 (秒)
    @Setter private Long expiresIn;
    // 刷新令牌
    @Setter private String refreshToken;
    // 实际授予的权限范围
    @Setter private List<String> scope;
}
